# 元组的特性其实就是内部元素不可修改

# 1. 元组和列表相同可以使用索引值获取内部元素
tuple1 = ('徐坤', '亦凡', '志祥', '海波')
print(tuple1[0])
print(tuple1[1])
print(tuple1[2])
print(tuple1[3])

# 2. 通过索引值修改元组内部的元素
# TypeError: 'tuple' object does not support item assignment
# 元组内部的元素不能通过索引值进行修改
# tuple1[2] = '易峰'

# 3. 通过索引值删除元组内部的元素
# TypeError: 'tuple' object doesn't support item deletion
# 元组内部的元素不能通过索引值删除
# del(tuple1[2])

# 4. 元组没有追加数据的方法
# AttributeError: 'tuple' object has no attribute 'append'
# tuple1.append(5)

print('-----------------------')
# 5. 元组可以切片
# 切片后得到的的数据依然是元组
print(tuple1[:2])  # ('徐坤', '亦凡')
# 切片其实并没有修改元组的原数据,而是产生了一个新的元组对象
print(tuple1)  # ('徐坤', '亦凡', '志祥', '海波')
